The BinProlog experience: Architecture and implementation choices for continuation passing Prolog and first-class logic engines

نویسنده

  • Paul Tarau
چکیده

We describe the BinProlog system’s compilation technology, runtime system and its extensions supporting first-class Logic Engines while providing a short history of its development, details of some of its newer re-implementations as well as an overview of the most important architectural choices involved in their design. With focus on its differences with conventional WAM implementations, we explain key details of BinProlog’s compilation technique, which replaces the WAM with a simplified continuation passing runtime system (the “BinWAM”), based on a mapping of full Prolog to binary logic programs. This is followed by a description of a term compression technique using a “tag-on-data” representation. Later derivatives, the Java-based Jinni Prolog compiler and the recently developed Lean Prolog system refine the BinProlog architecture with first-class Logic Engines, made generic through the use of an Interactor interface. An overview of their applications with focus on the ability to express at source level a wide variety of Prolog built-ins and extensions, covers these newer developments. To appear in Theory and Practice of Logic Programming (TPLP).

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Delimited Continuations in Prolog: Semantics, Use, and Implementation in the WAM

An implementation of a delimited continuations, known in the functional programming world, is shown in the context of the WAM, and more particular in hProlog. Three new predicates become available to the user: reset/3 and shift/1 for delimiting and capturing the continuation, and call continuation/1 for calling it. The underlying low-level built-ins and modifications to the system are described...

متن کامل

Logic Programming and Logic Grammars with Binarization and First-order Continuations

Continuation passing binarization and specialization of the WAM to binary logic programs have been proven practical implementation techniques in the BinProlog system. In this paper we investigate the additional beneets of having rst order continuations at source level. We devise a convenient way to manipulate them by introducing multiple-headed clauses which give direct access to continuations ...

متن کامل

Backtrackable State with Linear Affine Implication and Assumption Grammars

A general framework of handling state information for logic programming languages on top of backtrackable assumptions (linear aane and intuitionistic implications ranging over the current continuation) is introduced. Assumption Grammars (AGs), a variant of Extended DCGs handling multiple streams without the need of a preprocessing technique , are speciied within our framework. Equivalence with ...

متن کامل

Uppsala Theses in Computing Science 26 Compilation Techniques for Prolog Compilation Techniques for Prolog

Current Prolog compilers are largely limited to optimizing a single predicate at a time. We propose two methods to express the global control of Prolog programs. The rst method transforms a Prolog program into a continuation-passing style, where all operations have explicit success and failure continuations. The second method directly constructs a control ow graph from the Prolog program. This ...

متن کامل

Design of a Resolution Multiprocessor for the Parallel Virtual Machine

PAN is a process based Prolog system running in a distributed manner on the nodes of a virtual multiprocessor. It was designed to be a general purpose parallel logic programming system that would be resilient to software and hardware evolution. Programs can explicitly control parallelism through passing general terms synchronously or asynchronously among PAN’s Prolog engines. Alternatively seve...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • TPLP

دوره 12  شماره 

صفحات  -

تاریخ انتشار 2012